gtk4.git
6 years agotexture atlas: Add a missing initialization
Matthias Clasen [Wed, 5 Jun 2019 12:00:53 +0000 (12:00 +0000)]
texture atlas: Add a missing initialization

Pointed out by Timm.

6 years agoFix a refcounting mishap
Matthias Clasen [Wed, 5 Jun 2019 02:49:07 +0000 (02:49 +0000)]
Fix a refcounting mishap

We were missing a ref, causing caches to go missing
when a window is opened twice.

6 years agoRemove debug spew
Matthias Clasen [Tue, 4 Jun 2019 23:11:18 +0000 (23:11 +0000)]
Remove debug spew

6 years agoConsider all offscreen drawings for the icon cache
Timm Bäder [Tue, 4 Jun 2019 17:28:59 +0000 (17:28 +0000)]
Consider all offscreen drawings for the icon cache

6 years agoShare glyph and icon caches
Matthias Clasen [Tue, 4 Jun 2019 21:27:09 +0000 (21:27 +0000)]
Share glyph and icon caches

Use the same texture atlases to back both
the glyph and icon caches, and unify their
sizes and management. Store big glyphs
in separate textures, so all atlases have
the same size. Tweak some of the eviction
parameters.

We share the caches across all GL contexts
on a display, unless the GSK_NO_SHARED_CACHES
env var is set.

6 years agogdk: Create a global shared GL context
Matthias Clasen [Tue, 4 Jun 2019 21:26:28 +0000 (21:26 +0000)]
gdk: Create a global shared GL context

Create a global GL context that connects all
GL contexts on a display and lets us share textures
between them.

6 years agoglyph cache: Stop storing driver and render
Matthias Clasen [Mon, 3 Jun 2019 19:00:17 +0000 (19:00 +0000)]
glyph cache: Stop storing driver and render

This is the first step towards sharing glyph
caches across renderers.

6 years agogl: Use pad-extend for icon cache
Matthias Clasen [Sun, 2 Jun 2019 17:59:25 +0000 (17:59 +0000)]
gl: Use pad-extend for icon cache

Repeat the border pixels to avoid artifacts from
linear scaling.

6 years agogl: Use linear scaling for atlases
Matthias Clasen [Sun, 2 Jun 2019 16:59:52 +0000 (16:59 +0000)]
gl: Use linear scaling for atlases

6 years agogl: Allow setting min/mag filter on textures
Matthias Clasen [Sun, 2 Jun 2019 16:47:57 +0000 (16:47 +0000)]
gl: Allow setting min/mag filter on textures

This will be used in the future.
Adapt all callers to pass GL_NEAREST for now.

6 years agogl: Add 1 pixel of padding in the icon cache
Matthias Clasen [Sun, 2 Jun 2019 16:41:54 +0000 (16:41 +0000)]
gl: Add 1 pixel of padding in the icon cache

6 years agoglyph cache: Reinstate 1 pixel padding
Matthias Clasen [Sun, 2 Jun 2019 16:02:31 +0000 (16:02 +0000)]
glyph cache: Reinstate 1 pixel padding

This is necessary to prevent bleeding.

6 years agogl: Don't leak texture atlases
Matthias Clasen [Sun, 2 Jun 2019 15:11:11 +0000 (15:11 +0000)]
gl: Don't leak texture atlases

We need to free the texture atlases, and the
textures backing them.

6 years agogl: Free icon data
Matthias Clasen [Sun, 2 Jun 2019 15:10:40 +0000 (15:10 +0000)]
gl: Free icon data

6 years agoglyph cache: Clarify message
Matthias Clasen [Sun, 2 Jun 2019 15:08:20 +0000 (15:08 +0000)]
glyph cache: Clarify message

We have different kinds of caches now.

6 years agogl renderer: Add & use icon cache
Timm Bäder [Wed, 22 May 2019 07:33:25 +0000 (09:33 +0200)]
gl renderer: Add & use icon cache

Upload small icons all to the same texture atlas.

6 years agoglimage: Only support uploading one region
Timm Bäder [Thu, 14 Feb 2019 14:22:40 +0000 (15:22 +0100)]
glimage: Only support uploading one region

6 years agogl renderer: Move texture atlas into its own file
Timm Bäder [Wed, 22 May 2019 05:33:45 +0000 (07:33 +0200)]
gl renderer: Move texture atlas into its own file

We want to reuse the code later.

6 years agoglglyphcache: Use stb_rect_pack for better glyph packing
Timm Bäder [Sun, 10 Feb 2019 09:12:47 +0000 (10:12 +0100)]
glglyphcache: Use stb_rect_pack for better glyph packing

6 years agodocs: Remove mention of queue_draw_area()
Benjamin Otte [Tue, 4 Jun 2019 14:59:32 +0000 (14:59 +0000)]
docs: Remove mention of queue_draw_area()

and queue_draw_region(). They're gone since 73650c6da2b6171d10633038f74088980e8a7fc7.

6 years agorendernodeimpl: Inline container_node_get_bounds into _new
Timm Bäder [Tue, 4 Jun 2019 14:32:49 +0000 (16:32 +0200)]
rendernodeimpl: Inline container_node_get_bounds into _new

It's the only caller of the function and we can avoid a second loop over
all child nodes this way.

6 years agosnapshot: Make append_node_internal transfer-full
Timm Bäder [Tue, 4 Jun 2019 14:14:30 +0000 (16:14 +0200)]
snapshot: Make append_node_internal transfer-full

There is only one case where we do *not* directly unref the node again
after calling this.

6 years agoMerge branch 'for-master' into 'master'
Benjamin Otte [Tue, 4 Jun 2019 04:24:28 +0000 (04:24 +0000)]
Merge branch 'for-master' into 'master'

For master

See merge request GNOME/gtk!911

6 years agowidget-factory: Show proper separators
Benjamin Otte [Mon, 3 Jun 2019 23:45:17 +0000 (01:45 +0200)]
widget-factory: Show proper separators

6 years agobuilder: Allow values of type GType
Benjamin Otte [Tue, 4 Jun 2019 04:09:31 +0000 (06:09 +0200)]
builder: Allow values of type GType

In particular this allows setting the item-type property of GListStore.

6 years agobuilder: Make GListStore buildable
Benjamin Otte [Tue, 4 Jun 2019 03:54:16 +0000 (05:54 +0200)]
builder: Make GListStore buildable

Treats GListStore like any other object and allows <child> to add items
to it.

6 years agotestsuite: Add tests for printing/parsing transforms
Benjamin Otte [Mon, 3 Jun 2019 16:21:10 +0000 (18:21 +0200)]
testsuite: Add tests for printing/parsing transforms

6 years agoMerge branch 'transform-tests' into 'master'
Matthias Clasen [Mon, 3 Jun 2019 16:41:17 +0000 (16:41 +0000)]
Merge branch 'transform-tests' into 'master'

Transform tests

See merge request GNOME/gtk!910

6 years agogsk: Add some more transform tests
Matthias Clasen [Mon, 3 Jun 2019 16:18:55 +0000 (16:18 +0000)]
gsk: Add some more transform tests

Tests around identity. Seems trivial, but
still managed to find a bug.

6 years agogsk: Fix printing of identity transforms
Matthias Clasen [Mon, 3 Jun 2019 16:19:57 +0000 (16:19 +0000)]
gsk: Fix printing of identity transforms

These need to print as "none", otherwise
the parser does not accept them.

6 years agoCosmetics
Matthias Clasen [Mon, 3 Jun 2019 16:15:16 +0000 (16:15 +0000)]
Cosmetics

Fix up a variable name mismatch in GskTransform docs.

6 years agoMove transform tests to the gsk suite
Matthias Clasen [Mon, 3 Jun 2019 16:10:09 +0000 (16:10 +0000)]
Move transform tests to the gsk suite

That is where they belong.

6 years agoMerge branch 'for-master' into 'master'
Benjamin Otte [Mon, 3 Jun 2019 15:45:20 +0000 (15:45 +0000)]
Merge branch 'for-master' into 'master'

rendernodeparser: Handle Cairo being stupid

See merge request GNOME/gtk!909

6 years agoGskTransform: NULL is a valid transform
Timm Bäder [Mon, 3 Jun 2019 15:36:31 +0000 (17:36 +0200)]
GskTransform: NULL is a valid transform

6 years agorendernodeparser: Handle Cairo being stupid
Benjamin Otte [Mon, 3 Jun 2019 15:20:59 +0000 (17:20 +0200)]
rendernodeparser: Handle Cairo being stupid

Cairo writes to finished streams, so we have to make sure to keep the
stream around to allow it to do that.

6 years agogl renderer: Dont' memcmp() a GskTransform
Timm Bäder [Mon, 3 Jun 2019 15:07:26 +0000 (17:07 +0200)]
gl renderer: Dont' memcmp() a GskTransform

6 years agowidget: Unref priv->{allocated_,}transform
Timm Bäder [Mon, 3 Jun 2019 14:56:20 +0000 (16:56 +0200)]
widget: Unref priv->{allocated_,}transform

6 years agogl renderer: Don't ref transform twice
Timm Bäder [Mon, 3 Jun 2019 14:55:59 +0000 (16:55 +0200)]
gl renderer: Don't ref transform twice

That's gonna leak it otherwise.

6 years agoglyphcache: Don't leak hashtables
Timm Bäder [Mon, 3 Jun 2019 14:47:58 +0000 (16:47 +0200)]
glyphcache: Don't leak hashtables

6 years agoGskTransform: Ignore identity transforms
Timm Bäder [Mon, 3 Jun 2019 14:20:12 +0000 (16:20 +0200)]
GskTransform: Ignore identity transforms

We often end up with e.g. a scale of 1 or a translation by 0/0. Ignore
those transforms since they don't do anything.

6 years agogl renderer: Ref transform before using it
Timm Bäder [Mon, 3 Jun 2019 13:54:25 +0000 (15:54 +0200)]
gl renderer: Ref transform before using it

Fixes #1929

6 years agogl renderer: Dont' unnecessarily to_matrix transforms
Timm Bäder [Mon, 3 Jun 2019 13:54:13 +0000 (15:54 +0200)]
gl renderer: Dont' unnecessarily to_matrix transforms

6 years agoMerge branch 'menu-sizing' into 'master'
Matthias Clasen [Mon, 3 Jun 2019 14:57:46 +0000 (14:57 +0000)]
Merge branch 'menu-sizing' into 'master'

menu: Update scrollbar policy

Closes #1930

See merge request GNOME/gtk!908

6 years agomenu: Update scrollbar policy
Matthias Clasen [Mon, 3 Jun 2019 14:47:48 +0000 (14:47 +0000)]
menu: Update scrollbar policy

We want to avoid sizing problems for small menus
due to the vertical scrollbar imposing a min-height on
its slider.

Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1930
6 years agoMerge branch 'cherry-pick-ae2ef147' into 'master'
Benjamin Otte [Mon, 3 Jun 2019 11:29:54 +0000 (11:29 +0000)]
Merge branch 'cherry-pick-ae2ef147' into 'master'

gtk: fix weed_out_neg_zero() in spinbutton and scale

See merge request GNOME/gtk!906

6 years agoUpdated Spanish translation
Daniel Mustieles [Mon, 3 Jun 2019 10:26:36 +0000 (12:26 +0200)]
Updated Spanish translation

6 years agoMerge branch 'glyph-memdup' into 'master'
Matthias Clasen [Mon, 3 Jun 2019 03:07:31 +0000 (03:07 +0000)]
Merge branch 'glyph-memdup' into 'master'

gl: Avoid a memdup in glyph upload

See merge request GNOME/gtk!907

6 years agogl: Avoid a memdup in glyph upload
Matthias Clasen [Mon, 3 Jun 2019 02:46:12 +0000 (02:46 +0000)]
gl: Avoid a memdup in glyph upload

We don't need to dup the memory here if we
set up the image surface properly. This won't
matter for most glyphs, but some of them can
be big.

6 years agoMerge branch 'big-glyphs' into 'master'
Matthias Clasen [Mon, 3 Jun 2019 02:28:24 +0000 (02:28 +0000)]
Merge branch 'big-glyphs' into 'master'

Big glyphs

See merge request GNOME/gtk!904

6 years agoSave gsk output from ci
Matthias Clasen [Mon, 3 Jun 2019 01:06:31 +0000 (01:06 +0000)]
Save gsk output from ci

6 years agotestsuite: Pass --output for gsk tests
Matthias Clasen [Mon, 3 Jun 2019 00:51:09 +0000 (00:51 +0000)]
testsuite: Pass --output for gsk tests

We want to keep the output from ci runs.
So we now write the .out.png and .diff.png
files to build/testsuite/gsk/compare/$RENDERER.

6 years agogsk tests: Add an --output option
Matthias Clasen [Mon, 3 Jun 2019 00:40:43 +0000 (00:40 +0000)]
gsk tests: Add an --output option

This will be used to save artifacts in ci.

6 years agogl: Fix glyph cache aging
Matthias Clasen [Sun, 2 Jun 2019 20:55:34 +0000 (20:55 +0000)]
gl: Fix glyph cache aging

The logic here seems faulty. We want to keep
a timestamp that tells us when the glyph was
last used, so always update the timestamp.

And whenever we use a glyph, it turns 'young'
again, so remove it from the old pixels
accounting.

The (MAX_AGE, MAX_AGE+CHECK_INTERVAL) interval
is only relevant to prevent us from turning
a cached glyph old more than once, and that
is already taken care of.

6 years agoAdd code to dump out the glyph caches
Matthias Clasen [Sun, 2 Jun 2019 22:22:17 +0000 (22:22 +0000)]
Add code to dump out the glyph caches

6 years agogl: Improve cache dropping code
Matthias Clasen [Sun, 2 Jun 2019 22:21:05 +0000 (22:21 +0000)]
gl: Improve cache dropping code

There was a TODO here to avoid iterating the
glyphs multiple times, so avoid that. And
actually log the number of glyphs that was dropped.

6 years agogl: Improve glyph cache logging
Matthias Clasen [Sun, 2 Jun 2019 20:53:07 +0000 (20:53 +0000)]
gl: Improve glyph cache logging

Use g_message to be consistent, and make the
message fit a line.

6 years agogl: Log creation of glyph caches
Matthias Clasen [Sun, 2 Jun 2019 20:52:26 +0000 (20:52 +0000)]
gl: Log creation of glyph caches

Now that they can be of different sizes, this
is somewhat interesting.

6 years agogsk: Test huge glyphs
Matthias Clasen [Sun, 2 Jun 2019 19:14:34 +0000 (19:14 +0000)]
gsk: Test huge glyphs

These don't fit in the glyph cache.

6 years agogl: Make the glyph cache survive big glyphs
Matthias Clasen [Sun, 2 Jun 2019 19:42:14 +0000 (19:42 +0000)]
gl: Make the glyph cache survive big glyphs

Create an extra atlas of just the right size for
each huge glyph. Not pretty, but works.

6 years agogsk: Test big glyphs
Matthias Clasen [Sun, 2 Jun 2019 19:13:38 +0000 (19:13 +0000)]
gsk: Test big glyphs

These are big, but still fit in the glyph cache.
Therefore, the test succeeds.

6 years agogtk: fix weed_out_neg_zero() in spinbutton and scale
Michael Natterer [Mon, 3 Jun 2019 00:22:20 +0000 (00:22 +0000)]
gtk: fix weed_out_neg_zero() in spinbutton and scale

It was not copying the terminating \0 in the string, breaking output
in spinbutton (didn't try scale). Fixes #3452.

(cherry picked from commit ae2ef1472c69ad61ed8d19d932da4ca04c2a13ef)

6 years agoMerge branch 'for-master' into 'master'
Benjamin Otte [Mon, 3 Jun 2019 00:22:40 +0000 (00:22 +0000)]
Merge branch 'for-master' into 'master'

For master

See merge request GNOME/gtk!903

6 years agoMerge branch 'wip/chergert/marshalling-gtk4' into 'master'
Matthias Clasen [Sun, 2 Jun 2019 23:34:02 +0000 (23:34 +0000)]
Merge branch 'wip/chergert/marshalling-gtk4' into 'master'

gtk: fix all uses of g_cclosure_marshal_generic

See merge request GNOME/gtk!905

6 years agogtk: fix all uses of g_cclosure_marshal_generic
Christian Hergert [Sun, 2 Jun 2019 21:07:27 +0000 (14:07 -0700)]
gtk: fix all uses of g_cclosure_marshal_generic

This adds specific marshallers for all of the locations where a generic
marshaller is being used. It also provides va_marshallers to reduce the
chances that we get stack traces from perf going through ffi_call_unix64.

This is forward ported from gtk-3-24.

# Conflicts:
# gtk/gtkeventcontrollerkey.c
# gtk/gtkeventcontrollermotion.c
# gtk/gtkgesture.c
# gtk/gtkgesturemultipress.c

6 years agogtk-demo: Fix sliding puzzle demo
Benjamin Otte [Fri, 31 May 2019 03:23:42 +0000 (05:23 +0200)]
gtk-demo: Fix sliding puzzle demo

1. Menubuttons aren't buttons

2. For paintables without aspect ratios, use 1.0

6 years agotransform: Coalesce similar transforms
Benjamin Otte [Sun, 2 Jun 2019 12:16:45 +0000 (14:16 +0200)]
transform: Coalesce similar transforms

If somebody does a transform like
  scale(5) scale(10) translate(1,1) translate(5,0)
store it instead as
  scale(50) translate(6,1)
This way, less memory is consumed and transforms are easier to read.

In particular, this simplifies the typical transforms we do in GTK,
which are just one translation after another.

6 years agoDon't generate mipmaps needlessly
Matthias Clasen [Sun, 2 Jun 2019 15:54:50 +0000 (15:54 +0000)]
Don't generate mipmaps needlessly

GL_LINEAR doesn't use mipmaps, so don't generate them.

6 years agotransform: Treat 0 perspective transforms as identity
Benjamin Otte [Sun, 2 Jun 2019 13:06:50 +0000 (15:06 +0200)]
transform: Treat 0 perspective transforms as identity

This happens if you apply a perspective transform and its inverse, which
is the negative version of the perspective.

6 years agoUpdate Polish translation
Piotr Drąg [Sun, 2 Jun 2019 12:47:42 +0000 (14:47 +0200)]
Update Polish translation

6 years agogl renderer: Remove homegrown transform_bounds code
Timm Bäder [Sun, 2 Jun 2019 09:39:25 +0000 (11:39 +0200)]
gl renderer: Remove homegrown transform_bounds code

GskTransform can do this for us now.

6 years agotransform: Add G_GNUC_WARN_UNUSED_RESULT annotations
Timm Bäder [Sun, 2 Jun 2019 08:33:30 +0000 (10:33 +0200)]
transform: Add G_GNUC_WARN_UNUSED_RESULT annotations

These functions return the new transform so their return value should
really never be ignored.

6 years agogl renderer: Fix scale computation
Timm Bäder [Sun, 2 Jun 2019 08:25:39 +0000 (10:25 +0200)]
gl renderer: Fix scale computation

We don't need to just look at the scale of the new modelview matrix, but
at the one we get when multiplying the new one with the current one.

Test case attached.

6 years agogl renderer: Use GskTransform in render ops builder
Timm Bäder [Sun, 2 Jun 2019 07:55:11 +0000 (09:55 +0200)]
gl renderer: Use GskTransform in render ops builder

for the modelview matrix. We need this later.

6 years agogl renderer: Fix rounded rect intersection code
Timm Bäder [Sun, 2 Jun 2019 06:31:44 +0000 (08:31 +0200)]
gl renderer: Fix rounded rect intersection code

Test case attached.

Fixes #1920

6 years agoAdd gtkmenubarprivate.h
Matthias Clasen [Sat, 1 Jun 2019 04:25:08 +0000 (04:25 +0000)]
Add gtkmenubarprivate.h

Move private api into a private header.

6 years agoCosmetics
Matthias Clasen [Sat, 1 Jun 2019 04:18:23 +0000 (04:18 +0000)]
Cosmetics

Remove comments that are old enough to still
talk about option menus and item factories.

6 years agoMerge branch 'restack-gtk4' into 'master'
Matthias Clasen [Sat, 1 Jun 2019 19:47:32 +0000 (19:47 +0000)]
Merge branch 'restack-gtk4' into 'master'

GDK W32: Ensure correct stacking of popup windows (GTK4)

See merge request GNOME/gtk!902

6 years agoGDK W32: Ensure correct stacking of popup windows
Руслан Ижбулатов [Sat, 1 Jun 2019 19:11:13 +0000 (19:11 +0000)]
GDK W32: Ensure correct stacking of popup windows

1) In the SetWindowPos() function (and the WINDOWPOS struct) the
   "hWndInsertAfter" argument/field means the window that will be
   directly above after the change, not the window that will be
   directly below. MSDN says "precedes" for SetWindowPos(), but
   WINDOWPOS documentation is more precise: this is the window
   behind which the affected window will be placed. Apparently,
   Z-axis goes back-to-front.
   Therefore, logging should be reworded correctly.

2) When we switch away from the application and then switch back
   to a transient window, we need to bring up its transient-owner
   (and its transient-owner's owner and so forth) as well,
   otherwise our transient (modal) window might be transient for
   something that might not be visible.

3) When we bring up a window, we should bring all of its children
   (popup windows) on top of it.
   Because Windows doesn't provide a function to bring one window
   on top of the other, we have to work around this by calling
   SetWindowPos() twice, swapping the windows between the calls.

6 years agoUpdate Hungarian translation
Balázs Úr [Sat, 1 Jun 2019 11:26:53 +0000 (11:26 +0000)]
Update Hungarian translation

6 years agoRemove an unused enum
Matthias Clasen [Sat, 1 Jun 2019 04:11:22 +0000 (04:11 +0000)]
Remove an unused enum

No use of GtkArrowPlacement anywhere.

6 years agoMerge branch 'global-coords' into 'master'
Matthias Clasen [Sat, 1 Jun 2019 03:53:13 +0000 (03:53 +0000)]
Merge branch 'global-coords' into 'master'

Drop global coordinates

See merge request GNOME/gtk!899

6 years agoUpdate css node results
Matthias Clasen [Sat, 1 Jun 2019 03:47:19 +0000 (03:47 +0000)]
Update css node results

6 years agoFix menu item accessible
Matthias Clasen [Sat, 1 Jun 2019 03:39:12 +0000 (03:39 +0000)]
Fix menu item accessible

The menu shell is not a direct parent anymore.

6 years agotests: Fix issues with menu shells
Matthias Clasen [Sat, 1 Jun 2019 03:20:03 +0000 (03:20 +0000)]
tests: Fix issues with menu shells

The menu shell is no longer the direct
parent of menu items.

6 years agomenu: Fix destruction
Matthias Clasen [Sat, 1 Jun 2019 03:19:30 +0000 (03:19 +0000)]
menu: Fix destruction

Now that menubar and menu are containers
with internal structure, we need to be
careful about doing the right thing in
forall and dispose.

6 years agoMerge branch 'convert-dialog' into 'master'
Matthias Clasen [Sat, 1 Jun 2019 00:03:15 +0000 (00:03 +0000)]
Merge branch 'convert-dialog' into 'master'

Convert dialog

See merge request GNOME/gtk!898

6 years agomenu: Fix keynav between submenus
Matthias Clasen [Fri, 31 May 2019 23:25:06 +0000 (23:25 +0000)]
menu: Fix keynav between submenus

Left/Right arrow now work again to enter
or leave a submenu.

6 years agomenu: Bring back the scroll keybindings
Matthias Clasen [Fri, 31 May 2019 20:55:55 +0000 (20:55 +0000)]
menu: Bring back the scroll keybindings

Home, End, Page Up/Down, work again.

6 years agomenu: Keep selected item in view
Matthias Clasen [Fri, 31 May 2019 20:29:30 +0000 (20:29 +0000)]
menu: Keep selected item in view

This gets us most of the way to working scrolling.

6 years agoMore menu work
Matthias Clasen [Fri, 31 May 2019 03:20:50 +0000 (03:20 +0000)]
More menu work

6 years agoMore menu restructuring
Matthias Clasen [Fri, 31 May 2019 02:36:34 +0000 (02:36 +0000)]
More menu restructuring

Make GtkMenuBar use a box as well,
and let GtkMenuShell get the items
from GtkMenuBar and GtkMenu via
a vfunc. Use that to fix the keynav
implementation in GtkMenuShell.

6 years agomenu: Use a scrolled window
Matthias Clasen [Thu, 30 May 2019 23:07:24 +0000 (23:07 +0000)]
menu: Use a scrolled window

This brings back some support for scrolling.
We still need to reinstate some of the
scroll-to-selected and keynav functionality.

6 years agomenu: Use a box
Matthias Clasen [Thu, 30 May 2019 20:10:03 +0000 (20:10 +0000)]
menu: Use a box

This makes some of the GtkMenuShell api
no longer work, since we don't let the
menu shell code maintain the list of
children anymore.

6 years agoDrop gdk_event_get_root_coords
Matthias Clasen [Wed, 29 May 2019 22:02:54 +0000 (22:02 +0000)]
Drop gdk_event_get_root_coords

6 years agowidget: Stop setting root coords in events
Matthias Clasen [Wed, 29 May 2019 22:03:10 +0000 (22:03 +0000)]
widget: Stop setting root coords in events

Nothing should use them anymore.

6 years agowin32: Stop using gdk_event_get_root_coords
Matthias Clasen [Wed, 29 May 2019 21:49:27 +0000 (17:49 -0400)]
win32: Stop using gdk_event_get_root_coords

It seems we want local coords here anyway.

6 years agomenu: Remove global coordinates
Matthias Clasen [Wed, 29 May 2019 21:44:48 +0000 (17:44 -0400)]
menu: Remove global coordinates

This commit removes support for scrolling and
for the keep-up triangle from GtkMenu, and gets
rid of all use of global coordinates.

6 years agomenu: Only set position in one place
Benjamin Otte [Fri, 26 Apr 2019 15:50:44 +0000 (17:50 +0200)]
menu: Only set position in one place

6 years agomenu: Simplify function
Benjamin Otte [Wed, 24 Apr 2019 23:27:58 +0000 (01:27 +0200)]
menu: Simplify function

No need to do complicated math when we can just look at the allocation.

6 years agomenuitem: Introduce gtk_menu_item_get_menu_shell()
Benjamin Otte [Sun, 21 Apr 2019 13:50:24 +0000 (15:50 +0200)]
menuitem: Introduce gtk_menu_item_get_menu_shell()

Returns the parent menu shell or NULL.

Replace all calls to gtk_widget_get_parent() with this function.